package org.gpp.proj1.bone.parser;

import org.gpp.proj1.bone.Bone;
import org.gpp.proj1.bone.BoneStructure;
import org.gpp.proj1.util.test.JMETestCase;
;

public class BoneStructureParserTest extends JMETestCase {

	public void testGetEstrutura() {
		
		BoneStructureParser parser = new BoneStructureParser("test/bone/estrutura.txt");

		try {
			
			BoneStructure estrutura = parser.getBoneStructure();
			Bone raiz = estrutura.getRoot();
			
			assertTrue(raiz.isChild(estrutura.getBone("torso") ) );
			assertFalse(raiz.isChild(estrutura.getBone("bracoEsquerdo") ) );
			
			Bone torso = estrutura.getBone("torso");
			
			assertTrue(torso.isChild(estrutura.getBone("cabeca")));
			assertTrue(torso.isChild(estrutura.getBone("bracoDireito")));
			assertTrue(torso.isChild(estrutura.getBone("bracoEsquerdo")));
			assertTrue(torso.isChild(estrutura.getBone("pernaEsquerda")));
			assertTrue(torso.isChild(estrutura.getBone("pernaDireita")));
			
			parser.setFile("Aba.txt");
			
			try{
				parser.getBoneStructure();
				fail();
			}
			catch(BoneStructureParserException ex){
				assertTrue(ex.getMessage().equals("Arquivo passado n�o encontrado!"));
			}
			
		} catch (BoneStructureParserException e) {
			e.printStackTrace();
		}
	}
}